/**
 * 销售渠道
 */
Ext.onReady(function(){
	Ext.lib.Ajax.defaultPostHeader += '; charset=utf-8';//处理ie提交中文乱码问题   
 // 定义一个checkBox  
 var sm = new Ext.grid.CheckboxSelectionModel({singleSelect : true});  
 sm.handleMouseDown = Ext.emptyFn;//选中记录是否高亮显示
 
 // 定义一个ColumnModel，表头中有四列
 var cm = new Ext.grid.ColumnModel([
            sm,
  {header:'编号',dataIndex:'salesChannelCode'},
  {header:'渠道名称',dataIndex:'meaning'},
  {header:'销售大区',dataIndex:'zoneName'},
  {header:'借货库存1',dataIndex:'loanInvOrg1'},
  {header:'借货子库存1',dataIndex:'loanSubinventory1'},
  {header:'借货库存2',dataIndex:'loanInvOrg2'},
  {header:'借货子库存2',dataIndex:'loanSubinventory2'}
 ]);
 /* ArrayReader
  * ds要对应两个部分：proxy和reader。proxy告诉我们从哪里获得数据，reader告诉我们如何解析这个数据。
  * Ext.data.MemoryProxy，它是专门用来解析js变量的。你可以看到，我们直接把data作为参数传递进去了。
  */
 var ds = new Ext.data.Store({
 	baseParams : {
				trancode : '15120'
			},
  proxy: new Ext.data.HttpProxy({url:'../'+WebServiceUrl}),
  reader: new Ext.data.JsonReader({
   totalProperty: 'totalProperty',
   root: 'root'
   }, [
   {name: 'salesChannelCode'},
   {name: 'meaning'},
   {name: 'zoneName'},
   {name: 'salesZoneId'},
   {name: 'loanInvOrg1'},
   {name: 'loanSubinventory1'},
   {name: 'loanInvOrg2'},
   {name: 'loanSubinventory2'},
   {name: 'description'}
  ])  
 });   
  
 /* 装配 */
 /* 
  注意：Ext.grid.Grid的第一个参数是渲染的id，
  对应在html里应该有一个 <div id="grid"></div>的东西，这样grid才知道要把自己画到哪里。
  创建完grid以后，还要用grid.render()方法，让grid开始渲染，这样才能显示出来。
 */

 cm.defaultSortable   =   true;  // 设置列可排序

 var grid = new Ext.grid.GridPanel({
  el: 'grid',
  ds: ds,
  cm: cm,
  loadMask :{msg:'正在加载数据，请稍候。。。'},  
  // 定义分页
  bbar: new Ext.PagingToolbar({
   pageSize: App.pageSize,
   store: ds,
   displayInfo: true,
   displayMsg: '显示第 {0} 条到 {1} 条记录，一共 {2} 条',
   emptyMsg: "没有记录"
     }),
  sm: sm,
  title: "销售渠道",
  iconCls:'icon-grid',
  // inline toolbars
  tbar:[{
  	  id:'addnew',
      text:'添加',
      tooltip:'添加',
      handler:doAdd,
      iconCls:'add'
      
     }, '-', {
       text:'修改',
       tooltip:'修改',
       handler:doEdit,
       iconCls:'option'
      },'-',{
        text:'删除',
        tooltip:'删除',
        handler:doDel,
        iconCls:'remove'
  }],
  height : Ext.get("grid").getHeight(),
  bodyStyle:'width:100%',
  stripeRows:true
 });
 
 grid.on('rowclick', function(grid,t) { 
  if(sm.isSelected(t)) 
   sm.deselectRow(t); 
  else 
   sm.selectRow(t,true); 
 }); 
 grid.render();
 ds.load({params:{start:0, limit:App.pageSize}});
 /**添加**/
		function doAdd(){
			new App.AddSaleChannel(ds);
		}
		/**编辑**/
		function doEdit() {
					var _record = grid.getSelectionModel().getSelected();
        			if (!_record) {
						Ext.MessageBox.alert('警告', '请选择一条信息，进行修改!');
					} else {						
						//修改操作
						new App.EditSaleChannel(ds, grid);
					}	
				}
		/**删除**/
		function doDel() {
					var rows = grid.getSelectionModel().getSelections();// 返回值为 Record 数组 
					if (rows.length == 0) {
						Ext.MessageBox.alert('警告', '最少选择一条信息，进行删除!');
					} else {
						Ext.MessageBox.confirm('提示框', '您确定要进行该操作？', function(btn) {
							if (btn == 'yes') {
								if (rows) {
									for (var i = 0; i < rows.length; i++) {
										//删除]
										Ext.Ajax.request({
											url : '../' + WebServiceUrl,
											params : {
												trancode : '15124',
												id : rows[i].get('salesChannelCode')
											},
											success : function(result) {
												json = Ext.util.JSON
														.decode(result.responseText);
												if (json.success) {
													Ext.MessageBox.alert('操作成功',
															json.message);
													ds.load({params:{start:0, limit:App.pageSize}});
												} else {
													Ext.MessageBox.alert('操作失败',
															json.message);
												}
											}
										});
									}
								}
							}
							
						})
					}					
				}


})
